package top.easycode.app.util;



import java.util.UUID;

/**
 * sessionid 生成工具类
 * 
 * @author fanmq
 * 
 */
public class UniqueUtil {
	
	/**
	 * 生成客户端标识码
	 * 
	 * @return 客户端标识码
	 */
	public static String getMac() {
		return UUID.randomUUID().hashCode() + "" + (int) (Math.random() * 10000);
	}
	
	/**
	 *
	 * @param ip
	 *            客户端ip地址
	 * @param mac
	 *            客户端标识码
	 * @return
	 */
	public static String getSessionId(String ip, String mac) {
		//用户名去掉后两字节+客户端ip 作为原文
		String text = ip + mac;
		//客户端标识码 作为秘钥
		String key = mac;
		//执行MD5加密
		return MD5Util.stringMD5(text, key);
	}

	
	/**
	 * 对字符串执行加密
	 * 
	 * @param laws
	 *            明文
	 * @return
	 * @throws Exception
	 */
	public static String getSummary(String laws) throws Exception {
		if (StringUtils.isEmpty(laws)) {
			throw new Exception("密码明文为空，加密失败");
		}
		laws = MD5Util.stringMD5(laws);
		laws = laws.substring(3);
		laws = laws.substring(0, laws.length() - 3);
		String summ = MD5Util.stringMD5(laws, laws.substring(2));
		return summ;
	}
	
	public static void main(String args[]) {
		while (true) {
			try {
				Thread.sleep(2000);
				//				System.out.println(UniqueUtil.getCacheKey("fanmqqqqqq", CacheCode.CACHE_ORDER));
				System.out.println(UniqueUtil.getSummary("0"));
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}
